/*
 * CPacket.h
 *
 *  Created on: 04.12.2012
 *      Author: caffeine
 */

#ifndef CPACKET_H_
#define CPACKET_H_

#include <lampe/IReferenceCounted.h>

namespace lampe{
namespace stream{
class IPacket:public virtual IReferenceCounted{
public:

	/***
	 * Возвращяет позицию курсора
	 *
	 * @return позиция курсора
	 * */
	virtual u32 position()=0;

	/***
	 * Устанавливает позицию курсора
	 *
	 * @param position
	 * */
	virtual void position(u32 position)=0;

	/***
	 * Возвращяет полный размер данных вне зависимости от текущего положения
	 *
	 * @return полный размер данных
	 * */
	virtual u32 size()=0;
};

}//namespace stream
}//namespace lampe


#endif /* CPACKET_H_ */
